var ip ="127.0.0.1";//地址（默认本机，局域网打印设置为对应打印机IP）
var port = "9999"; //本插件运行端口
var print_list=new Array();//
//var printer_name='Microsoft Print to PDF';
function printorder(order){
    
    if(ip==""||port==""){
        layer.alert("ip,port不能为空"); 
        return false;
    } 
    console.log(order);
    // var adata='{"order_no": "'+order.order_no+'", "contact": "'+order.consignee+(order.mobile.substring(0,3)+"****"+order.mobile.substring(8,11))+'", "address": "'+order.address+'","total_money":"'+order.money_pay+'元"}';
    // var goodsData=new Array();
    // for(var i in order.order_goods){
    //     var name=order.order_goods[i].goods_name; 
    //     goodsData.push({"goodsname":name + " × "+order.order_goods[i].number}) 
    // }
   var msg = '{'
        +'"method":"' + 'printreport' +'"'  /*报表类型 gridreport fastreport reportmachine 为空 将默认为gridreport  */
        
        +',"ReportType":"' + 'gridreport' +'"'  /*报表类型 gridreport fastreport reportmachine 为空 将默认为gridreport  */
        +',"ReportName":"' + 'orders.grf' +'"' /*报表文件名 测试报表 */

        +',"ReportVersion":"' + '1' +'"' /*可选。报表版本, 为空则默认1  如果本地报表的版本过低 将从 ReportUrl 地址进行下载更新*/
        +',"ReportUrl":"' + '' +'"' /*可选。为空 将不更新本地报表 , 如果本地报表不存在可以从该地址自动下载*/
        //+',"ReportUrl":"' + 'http://localhost/test.grf' +'"' /*可选。为空 将不更新本地报表 , 如果本地报表不存在可以从该地址自动下载*/
        +',"Copies":"' + '1' +'"' /*可选。打印份数，支持指定打印份数。默认1份,如果为零,不打印,只返回报表生成的pdf,jpg等文件*/
        
        +',"Duplex":"' + '0' +'"' /*可选。双面打印 默认 0 需要双面打印的时候,请设置 2 或者3 , 可设置 0 打印机默认 1 单页 2 水平 3 垂直*/
        
        +',"PrinterName":""' /*可选。指定打印机，为空的话 使用默认打印机, 请在 控制面板 -> 设备和打印机 中查看您的打印机的名称 */
        +',"PrintOffsetX":"' + '0' +'"' /*可选。打印右偏移，单位厘米。报表的水平方向上的偏移量，向右为正，向左为负。*/
        +',"PrintOffsetY":"' + '0' +'"' /*可选。打印下偏移，单位厘米。 报表的垂直方向上的偏移量，向下为正，向上为负。*/
        +',"Preview":"' + '0' +'"'  /*可选。是否预览，和主界面设置的效果一样 为空默认不预览,   0：不预览，1：预览(弹出导出的pdf,jpg等文件)。*/
        +',"token":"' + '' +'"' /*可选。只要token值在列表中 方可打印*/
        +',"taskId":"' + '1234567' +'"' /*可选。多个打印任务同时打印时，根据该id确定返回的是哪个打印任务。 */
        +',"exportfilename":"' + '' +'"'  /*可选。自定义 导出 文件名称 为空 或者 自定义名称 如 test */
        +',"exportfiletype":"' + '' +'"'  /*可选。自定义 导出 文件格式 为空 或者 自定义名称 如 pdf  */

      
          
        +',"Parameter": ['  ///*参数，type 默认为空即可,已经在报表端设置了 备用字段  
          
            +'{"type": "", "name": "订单号","value": "'+order.order_no+'","required": false},'
            +'{"type": "", "name": "商品名称","value": "'+order.goods_name+'","required": false},'
            +'{"type": "", "name": "联系人","value": "'+order.consignee+'","required": false},'
            +'{"type": "", "name": "数量","value": "'+order.number+'","required": false},'
            +'{"type": "", "name": "价格","value": "'+order.tot_money+'","required": false},'
            +'{"type": "", "name": "地区","value": "'+order.area+'","required": false},'
            +'{"type": "", "name": "发货日期","value": "'+order.delivery_time+'","required": false},'
            +'{"type": "", "name": "收货地址","value": "'+order.address+'","required": false},'
          +']' 
       
        + '}';
    
    jQuery.support.cors = true;         //写到$.ajax $.get $.post 前面 解决 jQuery.Ajax IE8,9 无效（CORS跨域）           
    $.ajax({
      async : false, //循环打印时,　async 必须设置为 false，则所有的请求均为同步请求，在没有返回值之前，同步请求将锁住浏览器，用户其它操作必须等待请求完成才可以执行。
      url : "http://"+ip+":"+port+"/",
      type : "POST",
      contentType: "application/x-www-form-urlencoded", //要这样设置  
      //contentType: "application/json", //错误方式
      dataType : "json", //设置为 json 格式
      //dataType : "text", //设置为 text 格式 也可以,但是返回的结果需要自己解析判断
      //crossDomain: true,  //crossDomain true 或者false 无所谓,不用设置的
      data : msg,
      beforeSend: function (XMLHttpRequest) {
         // beforeSend 函数里 不允许添加任何 东西 
               //XMLHttpRequest.setRequestHeader("token", 'abcd1234'); //不允许 使用jQuery发送AJAX请求时在header中添加Token
          },
      success: function(data){     
        if(data.status=="ok"){ 
           
            print_list.splice(0,1);
            if(print_list.length<=0){
                 layer.close();
                 layer.msg("打印完成");
            }
           
             
        }else{
            lay.alert("打印失败:"+order.order_no);
            print_list.splice(0,1);
        }
        if(print_list.length>0){
            printorder(print_list[0]);
        }
      },
      error: function(data){
        //console.log(status, response);
        console.log(JSON.stringify(data));
        layer.close();
        layer.alert("连接HttpPrinter失败:"+JSON.stringify(data));
      }
    });
}

$(function(){
    $(".print-btn").removeAttr("href");
    $(".myexport-btn").removeAttr("href");
    $('.myexport-btn').click(function(){
      let data = window.location.search.substring(1)
    
        // let data = $(this).parents('.data-table-toolbar').find('#multi-search-form').serialize();
       window.open('/admin.php/web/shop/myexport?'+data)
       
    })
    $('.mycapitalexport-btn').click(function(){
        let data = window.location.search.substring(1)
        console.log(data);
        // let data = $(this).parents('.data-table-toolbar').find('#multi-search-form').serialize();
        window.open('/admin.php/web/capital/myexport?'+data)

    })

    $(".print-btn").click(function(){ 
         
        $.ajax({
            url:"/admin.php/web/order/printing",
            data:{},
            type:"post",
            success:function(res){
                if(res.code==200){ 
                
                    if(res.data.length>0){
                        print_list=res.data;
                        layer.msg('正在打印', {
                             icon: 16
                          ,shade: [0.1,'#000']
                        });
                        printorder(print_list[0]);
                    }
                    
                    
                }else{
                    layer.msg(res.msg);
                }
            }
        })
    })
})